export namespace TaskDefine {

    export const STORAGE_KEY = 'adTaskDailyRecords'; // 本地存储的键名
    // 单个任务当天的记录
    export interface TaskDailyRecord {
        date: string; // 日期格式：YYYY-MM-DD
        total_count: number; // 任务需要完成的总次数
        finish_count: number; // 当天已完成次数
        finish_time?: string; // 任务完成时间，格式：YYYY/MM/DD HH:mm:ss
    }// 本地存储的整体结构：任务ID → 当天记录

    export type TaskStorageData = Record<string, TaskDailyRecord>;

    export const Events = {
        Task_Update: 'Task_Update', // 任务更新事件
    }

    export type RequestStatus = "playing" | "completed" | "failed" | "cancel";

    export interface IAdPlayRequest {
        // 广告位 ID，用字符串类型表示
        adUnitId: string;
        // 广告开始播放的时间，使用 Date 类型来记录时间
        adStartTime: number;
        // 广告播放结束的时间
        adEndTime: number;
        // 广告是否需要强制点击，布尔类型，true 表示需要强制点击，false 表示不需要
        requiresForcedClick: boolean;
        // 是否完成强制点击，布尔类型，true 表示完成了强制点击，false 表示未完成
        hasForcedClickCompleted: boolean;
        // 广告是否可以发放奖励，根据广告播放完成且完成点击的条件来确定
        canGiveReward: boolean;
        status: RequestStatus;
    }

    //  KSGameGlobal["SoftInfo"]="软著认证号:2024SA0106067"
    // KSGameGlobal["Title"] = "禹州市信格科技有限公司"
    // KSGameGlobal["appidConfig"] = "ks690176645466696288"
    export interface IAppInfo {
        gameName: string;
        appID: string;
        softInfo: string;
        companyName: string;
    }

}

